\section{Implementation code snippets}
\begin{lstlisting}[caption=Method SmallestDistInQ, label={lst:SmallestDistInQ}]
private Airport SmallestDistInQ(List<Airport> myQueue)
{
	Airport smallestDist = new Airport();
	smallestDist.Dist = int.MaxValue;

	foreach (Airport q in myQueue)
	{
		if (q.Dist < smallestDist.Dist) 
		{
			smallestDist = q;
		}
	}
	return smallestDist;
}
\end{lstlisting}
The method takes the provided list of airports and checks if the Dist property on each element in the list is less than a an Airport object 'smallestDist' which is initially set to infinity. If true 'smallestDist' is set to q, thus ensuring that 'smallestDist' will be identical to the element in the list with the smallest Dist. 


\begin{lstlisting}[caption=Method AdjFlights, label={lst:AdjFlights}]
private List<Flight> AdjFlights(List<Flight> flightList, Airport u)
{
	List<Flight> adjFlightList = new List<Flight>();
	foreach (Flight f in flightList)
	{
		if (u.IdAirport == f.StartAirport.IdAirport)
		{
		// if f.departuretime < f.previous.arrivaltime + 1 hours.
			adjFlightList.Add(f);
		}
	}
	return adjFlightList;
}
\end{lstlisting}
Another being something close to: $if (f.departuretime < f.previous.arrivaltime + 1 hours)$ could become handy here in order to make sure that the departure time of the adjacency flight connect to u departs at least an hour